// 解析 proto 文件

const path = require('path')
const grpc = require('@grpc/grpc-js')
const protoLoader = require('@grpc/proto-loader')

// 获取 message.proto 文件路径
const PROTO_PATH = path.join(__dirname, 'message.proto')

// 加载 proto 文件
const packageDefinition = protoLoader.loadSync(PROTO_PATH, {
  keepCase: true,
  longs: String,
  enums: String,
  defaults: true,
  oneofs: true
})

// 生成 gRPC 服务
const protoDescriptor = grpc.loadPackageDefinition(packageDefinition)

const message_proto = protoDescriptor.message

// 导出 proto，这样其他模块就可以使用了
module.exports = {
  message_proto
}